//package com.sunop.pantiai.properties;
//
//import org.springframework.ai.chat.client.ChatClient;
//import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor;
//import org.springframework.ai.chat.memory.InMemoryChatMemory;
//import org.springframework.ai.document.Document;
//import org.springframework.ai.embedding.EmbeddingModel;
//import org.springframework.ai.vectorstore.SimpleVectorStore;
//import org.springframework.ai.vectorstore.VectorStore;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import java.util.List;
//
//@Configuration
//public class AIConfig {
//
//    @Bean
//    ChatClient chatClient(ChatClient.Builder builder) {
//        return builder
//                .defaultSystem("你是一个精通Java、Python、C/C++的算法程序大佬,叫做胡堂主。")
//                .defaultAdvisors(new MessageChatMemoryAdvisor(new InMemoryChatMemory()))
////                .defaultFunctions("getProblems")
//                .build();
//    }
//
//    @Bean
//    VectorStore vectorStore(EmbeddingModel embeddingModel) {
//        SimpleVectorStore simpleVectorStore = SimpleVectorStore.builder(embeddingModel)
//                .build();
//
//        // 生成一个算法题目规则说明书的文档
//        List<Document> documents = List.of(
//                new Document("算法题目规则说明书\n" +
//                        "题目名称：通用算法问题求解规范\n\n" +
//                        "题目描述：\n" +
//                        "本规范定义了通用算法题目的基本要求和评分标准，适用于各类算法训练和评测场景。\n\n" +
//                        "基本规则：\n" +
//                        "1. 输入输出规范\n" +
//                        "   - 程序必须从标准输入读取数据\n" +
//                        "   - 结果必须输出到标准输出\n" +
//                        "   - 输入输出格式必须严格符合题目要求\n\n" +
//                        "2. 正确性要求\n" +
//                        "   - 算法必须产生正确的结果\n" +
//                        "   - 需要处理各种边界情况\n" +
//                        "   - 特殊情况的处理方式需明确说明\n\n" +
//                        "3. 性能要求\n" +
//                        "   - 算法应在合理时间内完成\n" +
//                        "   - 时间复杂度需符合题目要求\n" +
//                        "   - 空间复杂度需符合题目要求\n\n" +
//                        "4. 代码实现规范\n" +
//                        "   - 代码应具有良好的可读性\n" +
//                        "   - 关键算法需有适当注释\n" +
//                        "   - 变量命名应清晰明确\n\n" +
//                        "5. 测试要求\n" +
//                        "   - 需提供测试用例验证正确性\n" +
//                        "   - 应包含常规情况和边界情况\n" +
//                        "   - 建议测试数据规模逐步增大\n\n" +
//                        "评分维度：\n" +
//                        "1. 功能完整性（40%）\n" +
//                        "2. 算法效率（30%）\n" +
//                        "3. 代码质量（20%）\n" +
//                        "4. 鲁棒性（10%）\n\n" +
//                        "注意事项：\n" +
//                        "1. 建议先设计算法再编码\n" +
//                        "2. 注意测试各种边界条件\n" +
//                        "3. 大输入数据时注意性能优化\n" +
//                        "4. 保持代码简洁清晰\n" +
//                        "5. 当你看到这个时候，相信你知道我铭哥是真的实现了RAG\n"
//                )
//        );
//
//        simpleVectorStore.add(documents);
//        return simpleVectorStore;
//    }
//
//
//}
